Handling Large Volumes of Internet Live Unicast Content Streams

ABSTRACT

To reduce overloading of broadband networks, unicast streams containing the same live Internet content can be identified. Then unicast streams may be combined into a multicast stream.

BACKGROUND

This relates generally to providing live streaming content over the Internet.

Internet live content streaming, including real-time coverage of popular events, may result in a large number of viewers trying to watch the same lineup of streaming content at the same time. For example, a popular sports event may garner a large number of viewers that tax limited bandwidth distribution systems. Generally, these viewers each establish a unicast stream between the content provider and their receiver. The ensuing large number of unicast streams may clog the network and the users may encounter poor quality streaming.

Unlike on-demand based content streaming, Internet live content streaming poses unique challenges to a network operator's bandwidth management strategy because many live events draw huge numbers of users, clogging network bandwidth. Since the live content streaming sources come from the Internet, rather than the multicast/broadcast services hosted by the network operator, the broadcasting infrastructure within the operator's network may not effectively deal with such situations.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are described with respect to the following figures:

FIG. 1 is a schematic depiction of one embodiment of the present invention;

FIG. 2 is a flow chart for one embodiment of a streaming gateway;

FIG. 3 is a schematic depiction of one embodiment of a streaming gateway;

FIG. 4 is a flow chart for one embodiment for a mobile station;

FIG. 5 is a system depiction for one embodiment of a mobile station;

FIG. 6 is a flow chart for a base station according to one embodiment; and

FIG. 7 is a schematic depiction of a base station according to one embodiment.

DETAILED DESCRIPTION

Internet live content streams may be delivered to wireless mobile stations (MS) in the form of multiple streams of unicast traffic. Unicast traffic is traffic which is directed from one originator to one, and only one, receiver. In the case of popular television coverage of sporting events, a large number of interested viewers can create a large number of streams of unicast traffic trying to flow through the network. The net result of large number of streams at the same time is to create a congested network, especially in the air interface where bandwidth is a scarce resource. In some cases, a large amount of the streaming traffic carries exactly the same content because the content is being distributed in real-time as the event occurs.

Referring to FIG. 1, an end-to-end solution to deal with the congestion problem, when there are a large number of unicast streams from outside the operator's network 10 that carry the same content, may use a streaming gateway 16. The streaming gateway may be placed logically at the edge of the wireless operator's core network (CN) 18. The network may be a Long Term Evolution (LTE) or WiMax network, as two examples. The streaming gateway is responsible for monitoring the streaming traffic 26 incoming to the network from the Internet 14. When the gateway detects a surge in the number of streams that carry the same content, the gateway may initiate mechanisms to convert the multiple unicast streams into a smaller number of multicast streams.

As used herein “multicast” means to send the same content to more than one receiver. The term “multicast” includes broadcasts as well.

The wireless operator's core network (CN) 18 includes elements that support Internet Protocol (IP) multicast functionality so that the multicast stream 24 from the streaming gateway 16 can be routed to the wireless base stations (BSs) 28. The wireless base stations use a broadcast channel to deliver the multicast stream to wireless mobile stations (MSs) 30. The wireless mobile stations may include intelligent middleware to seamlessly join the multicast stream and to deliver the content to the streaming application, hopefully without interrupting the user's viewing experience.

The streaming gateway is a logical entity that may be co-located with other elements in the operator's network. One major function of the streaming gateway is to detect incoming streams. The streaming gateway monitors the incoming streaming traffic. In some embodiments, it may inspect the content of the streams so that it can monitor the number of streams that carry the same content. Upon detection of a surge in same-content streams, the streaming gateway may evaluate how the wireless mobile stations receiving these streams are distributed. The streaming gateway may also determine whether a conversion of unicast streams to multicast streams is warranted. For example, the streaming gateway may decide to convert only some unicast streams, while leaving others unchanged. This decision may be based on the deployment of the network and/or the wireless channel conditions on the mobile stations that receive the streams.

The streaming gateway 16 may also be responsible for stream conversion in some embodiments. The streaming gateway may remove the content from the streams and start IP multicast delivery of the content to the base stations attached to the receiving mobile stations. The mobile stations can be notified of the stream conversion. For example, the streaming gateway may notify the middleware in the mobile station of the conversion so that the mobile station starts to retrieve the content from the new multicast stream and smoothly drops the unicast stream connected with the remote content server 12.

In another embodiment the streaming gateway notifies base stations of the existence of a new multicast stream. The base station advertises the existence of a new multicast stream through broadcast channels, such as the system information broadcast (SIB), in the Third Generation Partnership Project (3GPP) Radio Resource Control (RRC) specification. See 3GPP Technical Specification 36.331. The advertisement may include the universal resource locator (URL) of the stream, the IP multicast Class D address of the new multicast stream, and the multicast bearer that carries the streaming content.

Upon stream conversion from many unicast streams to fewer multicast streams, the streaming gateway may notify base stations communicating with mobile stations affected by the stream conversion. The base station may join the IP multicast as a subscriber of the IP multicast stream and may receive the streaming content from the multicast. Other elements in the operator's core network are expected to support IP multicast functionality so that the multicast streams from the streaming gateway can be routed to the wireless base stations subscribing to the stream.

The base station places the streaming content from the multicast stream on a broadcast channel of the air interface and delivers it to the wireless mobile stations.

An intelligent middleware layer on the mobile station coordinates between the streaming application and the protocol stack to seamlessly handle the unicast to multicast conversion. When an application initiates the content streaming, the middleware registers the unicast flow that carries the streaming traffic. When the middleware is notified, as described above, about the new multicast stream that replaces the existing unicast streams, the middleware may take action by commanding the protocol stack to join the multicast stream and to start to receive the content from the multicast. Once the multicast stream is established, the middleware terminates the original unicast stream and smoothly starts to deliver the content from the multicast stream to the application, without interrupting the viewing experience.

The wireless operator core network (CN) 18 may include an access network (AN) gateway 22 coupled to a packet data network (PDN) gateway 20 in one embodiment.

Thus, referring to FIG. 2, the streaming gateway sequence 32 may be implemented in hardware, software, and/or firmware. In software and firmware embodiments, it may be implemented by computer executed instructions stored on a non-transitory computer readable medium, such as a magnetic, semiconductor or optical storage.

The sequence may begin by detecting the occurrence of a large number of streams containing the same content as indicated in block 34. A threshold may be used to determine when to convert unicast streams to multicast streams. As examples, the existence of streams with the same content may be identified using content comparison code, by identifying descriptors of content, for example in headers, or using any other technique. The streaming topology may be evaluated, as indicated in block 36. A check at diamond 38 determines whether the multiple unicast streams should be converted to fewer multicast streaming. This may depend on the network, the nature of the unicast streams, and the number of unicast streams, for example. If the conversion is going to be undertaken, then the multicast stream is started, as indicated in block 40 and either the mobile stations or the base stations or both are notified of the multicast (block 42).

The streaming gateway 16, shown in FIG. 3, may include storage 130 including a hard drive 134 and a removable medium 136, coupled by a bus 104 to a chipset core logic 110. The streaming gateway may be any computer system. A keyboard and mouse 120, or other conventional components, may be coupled to the chipset core logic via bus 108. The core logic may couple to the graphics processor 112, via a bus 105, and the applications processor 100 in one embodiment. The graphics processor 112 may also be coupled by a bus 106 to a frame buffer 114. The frame buffer 114 may be coupled by a bus 107 to a display screen 118, such as a liquid crystal display (LCD) touch screen.

The chipset logic 110 may include a non-volatile memory port to couple the main memory 132. Speakers 124 may also be coupled through logic 110. In one embodiment, the sequence 32 may be implemented by computer executable instructions stored in a non-transitory computer readable medium such as the memory 132.

At the same time, the sequence 50, shown in FIG. 4, may be implemented by the wireless mobile station 30. The sequence 50 may be implemented in hardware, software, and/or firmware. In software and firmware embodiments, it may be implemented by computer executed instructions stored on a non-transitory computer readable medium, such as an optical, magnetic, or semiconductor memory.

The sequence 50 begins by causing each mobile station to register the unicast flow at block 52. Then a mobile station receives a conversion notice at block 54. The conversion notice may come from the streaming gateway or a base station, as examples. The wireless mobile station commands its protocol stack to join the multicast stream at block 56. Then, a check at diamond 58 determines whether there is a multicast stream yet. If so, the unicast is terminated at block 60 and the multicast content is delivered at block 62.

The wireless mobile station 30, shown in FIG. 5, may include a storage 130. It may include a hard drive 134 and a removable medium 136, coupled by a bus 104 to a chipset core logic 110. The mobile station may be any mobile computer system, including a smart mobile device, such as a smart phone, tablet, or a mobile Internet device. A keyboard and mouse 120, or other conventional components, may be coupled to the chipset core logic via bus 108. The core logic may couple to the graphics processor 112, via a bus 105, and the applications processor 100 in one embodiment. The graphics processor 112 may also be coupled by a bus 106 to a frame buffer 114. The frame buffer 114 may be coupled by a bus 107 to a display screen 118, such as a liquid crystal display (LCD) touch screen.

The chipset logic 110 may include a non-volatile memory port to couple the main memory 132 a. Also coupled to the logic 110 may be multiple antennas 121, 122 to implement multiple input multiple output (MIMO) in one embodiment. Speakers 124 may also be coupled through logic 110. In one embodiment, the sequence 50 may be implemented by computer executed instructions stored on a non-transitory computer readable medium such as memory 132 a.

Referring to FIG. 6, a base station sequence 70 may be implemented in software, firmware and/or hardware. In software and firmware embodiments, the sequence may be implemented by computer executed instructions stored in a non-transitory computer readable medium such as a magnetic, optical or semiconductor storage.

The sequence 70 begins by determining whether a notification of a new multicast has been received from a streaming gateway as indicated in diamond 72. If so, the new multicast may be advertised through broadcast channels as indicated in block 74. The advertisement may include a universal resource locater of the new stream, the IP multicast class D address of the new multicast stream, and the multicast bearer that carries the streaming content. In other embodiments the notification may be made directly to the mobile station from the streaming gateway, as indicated for example in FIG. 4.

The base station 28 shown in FIG. 7, may include a storage 130. It may include a hard drive 134 and a removable medium 136, coupled by a bus 104 to a chipset core logic 110. The base station may be any wireless computer system, including a server or a desktop computer. A keyboard and mouse 120, or other conventional components, may be coupled to the chipset core logic via bus 108. The core logic may couple to the graphics processor 112, via a bus 105, and the applications processor 100 in one embodiment. The graphics processor 112 may also be coupled by a bus 106 to a frame buffer 114. The frame buffer 114 may be coupled by a bus 107 to a display screen 118, such as a liquid crystal display (LCD) touch screen.

The chipset logic 110 may include a non-volatile memory port to couple the main memory 132 b. Also coupled to the logic 110 may be multiple antennas 121, 122 to implement multiple input multiple output (MIMO) in one embodiment. Speakers 124 may also be coupled through logic 110. In one embodiment the memory 132 b may be a non-transitory computer readable medium storing instructions executed by the processor 100 to perform the sequence 70.

The following clauses and/or examples pertain to further embodiments:

One example of an embodiment may be a method including detecting a plurality of live Internet unicast content streams, determining that the streams include the same unicast, and converting at least two of said unicast streams into one multicast stream. The method may also include analyzing said streams at a streaming gateway. The method may also include analyzing said streams in a wireless operator's core network. The method may further include notifying a base station coupled to a mobile station which is the addressee of a unicast of the conversion to a multicast stream. The method may also include terminating the unicast streams after they have been converted to a multicast stream. The method may also include commanding a protocol stack of a mobile station to join a multicast stream.

Another example may be an apparatus including a controller to detect a plurality of live Internet unicast streams, determine that the streams have the same content and convert the streams to one multicast stream, and a storage coupled to said controller. The apparatus may be part of a wireless operator's core network. The controller controller may be part of a streaming gateway. The controller may be at an edge of a wireless operator's core network. The controller may command a mobile station protocol stack to join a multicast stream. The controller may terminate the unicast streams after conversion to a multicast stream. The apparatus may include an antenna.

Still another example may be an apparatus that includes a controller to register a Internet streaming unicast flow, join a multicast stream with the same content as said unicast stream, and terminate the unicast stream, a wireless interface coupled to said controller, and a storage coupled to said controller. The apparatus may be a mobile station. The apparatus may also be a smartphone. The apparatus may include a display. The apparatus may include an antenna. The apparatus may join a multicast stream in response to a message from a streaming gateway. The apparatus may include a protocol stack to receive said message.

In yet another example, an apparatus may include a device to optimize wireless traffic due to a large number of live streaming sessions for the said content from a given source outside a wireless network, and an antenna coupled to said device. The apparatus may merge unicast streams delivering identical content.

In still another another example, an apparatus may include a processor to receive a notification that a unicast is being converted to a multicast and to advertise the multicast to mobile stations, and an antenna coupled to said processor. The processor may advertise using a system information broadcast. The processor may send a universal resource locator for the multicast stream to a mobile station.

In another example, at least one computer readable medium may store instructions to enable a mobile station to register for a unicast flow, receive a notice of conversion of said flow to a multicast, command a protocol stack to join the multicast stream, and when said multicast stream is detected, terminate said unicast flow. The medium may further store instructions to receive the notification via middleware in said mobile station. The medium may further store instructions to drop the unicast flow when the mobile station starts to retrieve content from the multicast.

In yet another example, a wireless operator's core network may include a streaming gateway to detect a plurality of live Internet unicast streams, determine that the streams have the same content and convert the streams to one multicast stream, and an access network gateway coupled to said streaming gateway. The network may terminate the unicast streams after conversion to a multicast stream.

References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.

While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention. 

1. A method comprising: detecting a plurality of live Internet unicast content streams; determining that the streams include the same unicast; and converting at least two of said unicast streams into one multicast stream; and commanding a protocol stack of a mobile station to join a multicast stream.
 2. The method of claim 1 including analyzing said streams at a streaming gateway.
 3. The method of claim 2 including analyzing said streams in a wireless operator's core network.
 4. The method of claim 1 including notifying a base station coupled to a mobile station which is the addressee of a unicast of the conversion to a multicast stream.
 5. The method of claim 1 including terminating the unicast streams after they have been converted to a multicast stream.
 6. (canceled)
 7. An apparatus comprising: a controller to detect a plurality of live Internet unicast streams, determine that the streams have the same content and convert the streams to one multicast stream; and a storage coupled to said controller; and said controller to command a mobile station protocol stack to join a multicast stream.
 8. The apparatus of claim 7 that is part of a wireless operator's core network.
 9. The apparatus of claim 7, wherein said controller is part of a streaming gateway.
 10. The apparatus of claim 7, wherein said controller is at an edge of a wireless operator's core network.
 11. (canceled)
 12. The apparatus of claim 7, said controller to terminate the unicast streams after conversion to a multicast stream.
 13. The apparatus of claim 7, including an antenna.
 14. An apparatus comprising: a controller to register a Internet streaming unicast flow, join a multicast stream with the same content as said unicast stream, and terminate the unicast stream; a wireless interface coupled to said controller; and a storage coupled to said controller; and a protocol stack to receive said message.
 15. The apparatus of claim 14 wherein said apparatus is a mobile station.
 16. The apparatus of claim 15 wherein said apparatus is a smartphone.
 17. The apparatus of claim 14 including a display.
 18. The apparatus of claim 14 including an antenna.
 19. The apparatus of claim 14 to join a multicast stream in response to a message from a streaming gateway. 20-25. (canceled)
 26. At least one computer readable medium storing instructions to enable a mobile station to: register for a unicast flow; receive a notice of conversion of said flow to a multicast; command a protocol stack to join the multicast stream; and when said multicast stream is detected, terminate said unicast flow.
 27. The medium of claim 26 further storing instructions to receive the notification via middleware in said mobile station.
 28. The medium of claim 26 further storing instructions to drop the unicast flow when the mobile station starts to retrieve content from the multicast.
 29. A wireless operator's core network comprising: a streaming gateway to detect a plurality of live Internet unicast streams, determine that the streams have the same content and convert the streams to one multicast stream; and an access network gateway coupled to said streaming gateway.
 30. The network of claim 29, said network to terminate the unicast streams after conversion to a multicast stream. 